<?php

defined('JSJZJX')||exit('非法访问！');
class PowerModel extends Model{
	protected $table='kq_node';
	protected $pk='id';



	protected $fields=array('id','name','title','status','remark',
                          'pid','level'
		);

	protected $leftfields=array(//
               array('remark','value',''),
               //array('small_img','value',''),
               //array('mid_img','value',''),
               //array('add_time','function','time'),
              /// array('update_time','function','time')
              );


/****
    格式 $this->valid=array(
        array('验证的字段名'，0、1、2（验证场景），'报错提示'，
        'require/in(某几种情况)/between(范围)/length(某个范围)')
        );
    例子：
        array('goods_name',1,'商品名不能为空','required'),
        array('cat_id',1,'栏目id必须是整形值'，'number'),
        array('is_new',0,'in_new 只能是0或1'，'in','0,1'),//如有，则检查
        array('goods_breif',2,'商品简介在10-100个字符','length','10,100')
    ****/
        /*
    protected $rules=array(
					array('fac_name',1,'姓名不能为空','require'),
          //array('fac_post',1,'职务不能为空','require'),
          array('fac_title',1,'职称不能为空','require'),
			    array('show_id',1,'显示id必须是整型值','number'),
			    array('fac_intro',2,'个人简介在10-1500个字符','length','10,1500')
					);

*/


	/****
	接收一个关联数组，键->表中的列，值->表中的值，
	add()函数自动插入数组中的数据到category表中
	****/
	public function add($data){
		return $this->db->autoExec($this->table,$data);

	}

	//获取本表下面所有的数据
	public function getAll(){
		$sql='select id,name,pid from '.$this->table;
		return $this->db->getAll($sql);
	}
	//获取分类$id的子孙树,将getAll()获得的结果格式化
	public function getCategoryTree($arr,$aid=0,$lev=0){//
 		$tree=array();
 		foreach ($arr as $v) {
 			if($v['pid']==$aid){
 			$v['lev']=$lev;
 			$tree[]=$v;
 			$tree=array_merge($tree,$this->getCategoryTree($arr,$v['id'],$lev+1));
 			
 	}
}
		return $tree;
}

	/****
	获取$id栏目的子栏目
	****/
	public function getSubCategory($id){
		$sql='select id,name,pid from '.$this->table.' where pid='.$id;
		return $this->db->getAll($sql);
	}

	/****
	获取$id的家谱树
	****/
	public function getFamilyTree($id){
		$tree=array();
		$category=$this->getAll();
		
		while($id>0){
		foreach($category as $v){
			if($v['id']==$id){
				$tree[]=$v;
				$id=$v['pid'];
				break;
			}
		}
	  }
	  return $tree;
	}
	//根据主键取出一行数据
	public function getOneRow($id){
		$sql='select * from '.$this->table.' where id='.$id;
		return $this->db->getRow($sql);
	}

	

	//更新分类(栏目)
	public function update($data,$id=0){
		$this->db->autoExec($this->table,$data,'update',' where id='.$id);
		return $this->db->affected_rows();
	}
	/*
	*得到模块对应的中文名 用于制作面包屑
	**/
	public function getTitle($name){
		$sql = "select title from ".$this->table." where name='".$name."'";
		return $this->db->getOne($sql);
	}

}
?>